package com.s4j.struts.biz.model;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 疾病诊断与病情评估表
 * @author Administrator
 *
 */
@Entity
@Table(name="BIZ_MG_APPR")
public class BizMgAppr {

	private Long apprId;
	
	private PatientDoc patient;
	
	private Integer hbflag;  //是否确诊为重症肌无力   0：否，1：是
	
	private String qibing_day;  //起病时间
	
	private String quezhen_day;  //确诊时间
	
	private String quezhen_hospital;  //确诊医院
	
	private String zhenduan_standard;  //诊断标准
	
	//1眼肌型(I型)  2轻度全身型(Ⅱ一A型)  3中度全身型(Ⅱ一B型)  4重度激进型(Ⅲ型)  5迟发重症型(Ⅳ型)  
	//6伴肌肉萎缩(V型)
	private Integer clinic_type;  //临床类型
	
	private Integer muscle_eye;  //眼肌
	
	private Integer muscle_face;  //面肌
	
	private Integer muscle_spinal;  //延髓肌
	
	private Integer muscle_neck;  //颈肌
	
	private Integer muscle_breath;  //呼吸肌
	
	private Integer muscle_limb;  //四肢肌
	
	private String muscle_other;  //其他肌群
	
	private Integer comp_thymicHype;  //胸腺增生
	
	private Integer comp_thymoma;  //胸腺瘤
	
	private Integer comp_thymusDegen;  //胸腺退化不全
	
	private Integer comp_thyroid;  //甲状腺瘤
	
	private Integer comp_thyroidFunHyper;  //甲状腺功能亢进
	
	private String comp_other;  //其他并发症
	
	private List<CombinedDisease> diseases;  //其他疾病
	
	//1感冒  2肺部感染  3腹泻  4月经来潮  5疲劳  6天气变化  7怀孕  8产后  9术后
	private Integer induce;  //此次入院诱发因素
	
	private Integer quezhen_age;   //确证年龄

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public Long getApprId() {
		return apprId;
	}

	public void setApprId(Long apprId) {
		this.apprId = apprId;
	}

	@OneToOne  
    @JoinColumn(name="patientId",insertable=true,unique=true)
	public PatientDoc getPatient() {
		return patient;
	}

	public void setPatient(PatientDoc patient) {
		this.patient = patient;
	}

	@Column(precision=2, scale=0)
	public Integer getHbflag() {
		return hbflag;
	}

	public void setHbflag(Integer hbflag) {
		this.hbflag = hbflag;
	}

	@Column(length=20)
	public String getQibing_day() {
		return qibing_day;
	}

	public void setQibing_day(String qibing_day) {
		this.qibing_day = qibing_day;
	}

	@Column(length=20)
	public String getQuezhen_day() {
		return quezhen_day;
	}

	public void setQuezhen_day(String quezhen_day) {
		this.quezhen_day = quezhen_day;
	}

	@Column(length=100)
	public String getQuezhen_hospital() {
		return quezhen_hospital;
	}

	public void setQuezhen_hospital(String quezhen_hospital) {
		this.quezhen_hospital = quezhen_hospital;
	}

	@Column(length=200)
	public String getZhenduan_standard() {
		return zhenduan_standard;
	}

	public void setZhenduan_standard(String zhenduan_standard) {
		this.zhenduan_standard = zhenduan_standard;
	}

	@Column(precision=2)
	public Integer getClinic_type() {
		return clinic_type;
	}

	public void setClinic_type(Integer clinic_type) {
		this.clinic_type = clinic_type;
	}

	@Column(precision=2)
	public Integer getMuscle_eye() {
		return muscle_eye;
	}

	public void setMuscle_eye(Integer muscle_eye) {
		this.muscle_eye = muscle_eye;
	}

	@Column(precision=2)
	public Integer getMuscle_face() {
		return muscle_face;
	}

	public void setMuscle_face(Integer muscle_face) {
		this.muscle_face = muscle_face;
	}

	@Column(precision=2)
	public Integer getMuscle_spinal() {
		return muscle_spinal;
	}

	public void setMuscle_spinal(Integer muscle_spinal) {
		this.muscle_spinal = muscle_spinal;
	}

	@Column(precision=2)
	public Integer getMuscle_neck() {
		return muscle_neck;
	}

	public void setMuscle_neck(Integer muscle_neck) {
		this.muscle_neck = muscle_neck;
	}

	@Column(precision=2)
	public Integer getMuscle_breath() {
		return muscle_breath;
	}

	public void setMuscle_breath(Integer muscle_breath) {
		this.muscle_breath = muscle_breath;
	}

	@Column(precision=2)
	public Integer getMuscle_limb() {
		return muscle_limb;
	}

	public void setMuscle_limb(Integer muscle_limb) {
		this.muscle_limb = muscle_limb;
	}

	@Column(length=500)
	public String getMuscle_other() {
		return muscle_other;
	}

	public void setMuscle_other(String muscle_other) {
		this.muscle_other = muscle_other;
	}

	@Column(precision=2)
	public Integer getComp_thymicHype() {
		return comp_thymicHype;
	}

	public void setComp_thymicHype(Integer comp_thymicHype) {
		this.comp_thymicHype = comp_thymicHype;
	}

	@Column(precision=2)
	public Integer getComp_thymoma() {
		return comp_thymoma;
	}

	public void setComp_thymoma(Integer comp_thymoma) {
		this.comp_thymoma = comp_thymoma;
	}

	@Column(precision=2)
	public Integer getComp_thymusDegen() {
		return comp_thymusDegen;
	}

	public void setComp_thymusDegen(Integer comp_thymusDegen) {
		this.comp_thymusDegen = comp_thymusDegen;
	}

	@Column(precision=2)
	public Integer getComp_thyroid() {
		return comp_thyroid;
	}

	public void setComp_thyroid(Integer comp_thyroid) {
		this.comp_thyroid = comp_thyroid;
	}

	@Column(precision=2)
	public Integer getComp_thyroidFunHyper() {
		return comp_thyroidFunHyper;
	}

	public void setComp_thyroidFunHyper(Integer comp_thyroidFunHyper) {
		this.comp_thyroidFunHyper = comp_thyroidFunHyper;
	}

	@Column(length=500)
	public String getComp_other() {
		return comp_other;
	}

	public void setComp_other(String comp_other) {
		this.comp_other = comp_other;
	}

	@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="mgAppr")
	public List<CombinedDisease> getDiseases() {
		return diseases;
	}

	public void setDiseases(List<CombinedDisease> diseases) {
		this.diseases = diseases;
	}

	@Column(precision=2)
	public Integer getInduce() {
		return induce;
	}

	public void setInduce(Integer induce) {
		this.induce = induce;
	}

	public Integer getQuezhen_age() {
		return quezhen_age;
	}

	public void setQuezhen_age(Integer quezhen_age) {
		this.quezhen_age = quezhen_age;
	}
}
